Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Луцький національний технічний університет
Інститут:
Не вказано
Факультет:
Комп'ютерна інженерія
Кафедра:
Не вказано

Інформація про роботу

Рік:
2011
Тип роботи:
Контрольна робота
Предмет:
Паралельні та розподілені обчислення

Частина тексту файла

Міністерство освіти і науки, молоді та спорту України Луцький національний технічний університет Кафедра «Комп’ютерної інженерії» КОНТРОЛЬНА РОБОТА з курсу «Паралельні та розподілені обчислення» Луцьк 2011 Задача 1. Клас TThread Код програми: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TMDIWorkThread = class(TThread) private Image: TImage; X1, Y1, X2, Y2: Integer; Color: TColor; protected procedure Execute; override; procedure DrawLine; public constructor Create(AImage: TImage); end; type TForm1 = class(TForm) Image1: TImage; Button1: TButton; Button2: TButton; Button3: TButton; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private WorkThread: TMDIWorkThread; public end; var Form1: TForm1; implementation {$R *.dfm} procedure TMDIWorkThread.Execute; begin repeat X1 := Random(Image.Width); Y1 := Random(Image.Height); X2 := Random(Image.Width); Y2 := Random(Image.Height); Color := TColor(Random($00FFFFFF)); Synchronize(DrawLine); until Terminated; end; procedure TMDIWorkThread.DrawLine; begin Image.Canvas.Pen.Color := Color; Image.Canvas.MoveTo(X1, Y1); Image.Canvas.LineTo(X2, Y2); end; constructor TMDIWorkThread.Create(AImage: TImage); begin inherited Create(True); Image := AImage; Priority := TPLowest; end; procedure TForm1.Button1Click(Sender: TObject); begin button1.Enabled := False; button2.Enabled := True; WorkThread.Resume; end; procedure TForm1.Button2Click(Sender: TObject); begin button1.Enabled := True; WorkThread.Terminate; end; procedure TForm1.Button3Click(Sender: TObject); begin Application.Terminate; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := CAFree; WorkThread.Terminate; WorkThread.Free; end; procedure TForm1.FormCreate(Sender: TObject); begin DoubleBuffered := True; WorkThread := TMDIWorkThread.Create(Image1); end; end. Відкомпільована програма має наступний вигляд:  Задача 2. Призначення потокам пріоритетів Код програми: unit Ball; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ImgList, DBCtrls; type TBallThread = class(TThread) private FBall: TImage; FPosition: Integer; protected procedure Execute; override; procedure DrawBall; constructor Create(ABall: TImage; APriority: TThreadPriority); end; TBallBox = class(TForm) Image1: TImage; Image2: TImage; Button1: TButton; Button2: TButton; Button3: TButton; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private public end; var BallBox: TBallBox; Ball1, Ball2: TBallThread; implementation {$R *.dfm} constructor TBallThread.Create(ABall: TImage; APriority: TThreadPriority); begin inherited Create(True); FBall := ABall; FPosition := FBall.Left; Priority := APriority; end; procedure TBallThread.Execute; var I: Integer; begin repeat if FPosition > (BallBox.Width - FBall.Width - 10) then FPosition := 2; for I := 0 to 1000000 do FPosition := FPosition + 1; FPosition := FPosition - 1000000; Synchronize(DrawBall); until Terminated; end; procedure TBallThread.DrawBall; begin FBall.Left := FPosition; Application.ProcessMessages; end; procedure TBallBox.FormCreate(Sender: TObject); begin Self.DoubleBuffered := True; Image1.Picture.LoadF...
Антиботан аватар за замовчуванням

02.04.2013 21:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини